<?php if (!defined('BASEPATH')) exit('No esta permitido el acceso directo');

/**
 * Clase que representa las reglas de negocio de la planeación interna
 * @author Jonathan Ruiz
 */
class Planeacion extends CI_Controller {

	/**
	 * Constructor de la case
	 */
	public function __construct() 
	{
         parent::__construct();
         
         $this->load->helper("url");
         $this->load->library("session");
         
         if (!$this->estas_dentro())
         	redirect(base_url());
     }
     
     /**
      * @link base_url()/index.php/planeacion/
      * @author Jonathan Ruiz
      */
	public function index() 
	{
         redirect(site_url("planeacion/lista_apertura"));
    }
    
	/**
     * Método que muestra la lista de asignaturas para su planeación
     * @author  Jonathan Ruiz
     * @link    base_url()/index.php/planeacion/lista_apertura
     */
    public function lista_apertura()
    {
        //Cargando idioma
        $idioma = $this->config->item('language');
        $this->lang->load('opening', $idioma);
        
        //Cargando Helpers
        $this->load->library('utils/tableds');
        $this->load->library('utils/fecha');
        
        //Generando parametros de la vista
        $parametros_vista = array(
            'titulo' => 'Planeación Interna',
        	'fecha' => $this->fecha->getFecha(),
            'menu' => 'menu_jefatura',
            'contenido' => 'jefatura/planeacion/lista_apertura'
        );
                
        //Cargando modelo
        $this->load->database();
        $this->load->model('Model_planeacion');
        $query = $this->Model_planeacion->get_lista_apertura();
                
        //Generando lista
        $plantilla_apertura = array (
        	'table_open' => '<table border="1" class="tabla_lista">'
        );
                
        $titulos_tabla = array(
        	$this->lang->line('opening_list_title_group'),  
            $this->lang->line('opening_list_title_signature'), 
            $this->lang->line('opening_list_title_professor'), 
            $this->lang->line('opening_list_title_classroom'), 
            $this->lang->line('opening_list_title_slot'), 
            $this->lang->line('opening_list_title_period'), 
            $this->lang->line('opening_list_title_startdate'),
            $this->lang->line('opening_list_title_enddate'),
            $this->lang->line('opening_list_title_status')
        );
        
        //Llenando tabla
        $tabla = $this->tableds->fill($query, $plantilla_apertura, $titulos_tabla, 'planear_asignatura', 9);
        
        $parametros_vista["tabla_apertura"] = $tabla;
           
        $this->db->close();
                
        //Cargando vista
        $this->load->view('plantilla/plantilla_unam', $parametros_vista);
    }

	/**
     * Método que muestra una asignatura para su planeación
     * @author  Jonathan Ruiz
     * @link    base_url()/index.php/planeacion/planear_asignatura
     */
    public function planear_asignatura($id_asignatura)
    {
    	//Cargando idioma
        $idioma = $this->config->item('language');
        $this->lang->load('planning', $idioma);
        
        //Cargando Helpers
        $this->load->library('utils/fecha');
        
        //Generando parametros de la vista
        $parametros_vista = array(
            'titulo' => 'Planear Asignatura',
        	'fecha' => $this->fecha->getFecha(),
            'menu' => 'menu_jefatura',
            'contenido' => 'jefatura/planeacion/planear_asignatura'
        );
        
        //Cargando modelo
        $this->load->database();
        $this->load->model('Model_planeacion');
        $this->load->library("api/curso_class");
        $this->load->library("api/sala_class");
        
        //Recuperando planeación con sala, profesor y asignatura por id
        $query = $this->Model_planeacion->get_by_id($id_asignatura);
        $array_object = $query->result();
        $apertura_object = $array_object[0];
        
        //Recuperando cursos
        $campos = array('nombre', 'descripcion', 'area', 'costo', 'duracion');
        $cuso_object = $this->curso_class->xgets($campos, FALSE, "nombre");
        
        //Recuperando salas
        $campos = array('numero', 'edificio', 'facultad', 'especificaciones');
        $sala_object = $this->sala_class->xgets($campos, FALSE, "numero");
        
        $parametros_vista["id"] = $id_asignatura;
        $parametros_vista["apertura"] = $apertura_object;
        $parametros_vista["array_sala"] = $sala_object;
        $parametros_vista["array_curso"] = $cuso_object;
        
        //Cargando vista.
        $this->load->view('plantilla/plantilla_unam', $parametros_vista);  
    }
     
    /**
     * Método que valida la planeación de una asignatura
     * @author  Jonathan Ruiz
     * @link    base_url()/index.php/planeacion/validar_planeacion
     */
    public function validar_planeacion(){
    	//Cargando idioma
        $idioma = $this->config->item('language');
        $this->lang->load('planning', $idioma);
        
        //Cargando Helpers
        $this->load->library('utils/fecha');
        
        //Generando parametros de la vista
        $parametros_vista = array(
            'titulo' => 'Varidar planeación',
        	'fecha' => $this->fecha->getFecha(),
            'menu' => 'menu_jefatura',
            'contenido' => 'jefatura/planeacion/validar_planeacion'
        );
        
        //Cargando vista.
        $this->load->view('plantilla/plantilla_unam', $parametros_vista);
    }
    
    /**
     * Método que guarda la planeación de una asignatura
     * @author  Jonathan Ruiz
     * @link    base_url()/index.php/planeacion/guardar_planeacion
     */
    public function guardar_planeacion(){
    
    }
    
     /**
      * Método que valida la sesión
      * @author Jonathan Ruiz
      */
	private function estas_dentro() {
         if ($this->session->userdata("J_SESION"))
             return true;
     }

}

 /* End of file planeacion.php */
/* Location: ./application/controllers/planeacion.php */